package com.vegetable.modules.service.finance;

import com.vegetable.common.utils.R;
import com.vegetable.modules.entity.finance.PaymentPurchase;
import java.util.Map;

/**
 * 手动支付服务接口
 *
 * @author Qoder
 */
public interface ManualPaymentService {

    /**
     * 执行手动支付
     *
     * @param paymentId 付款ID
     * @return 支付结果
     */
    R executeManualPayment(Long paymentId);
    
    /**
     * 执行手动支付（包含收款人信息）
     *
     * @param paymentId 付款ID
     * @param payeeName 收款人全称
     * @param payeeBankAccount 收款人银行账号
     * @param payeeBankName 收款人开户行
     * @return 支付结果
     */
    R executeManualPayment(Long paymentId, String payeeName, String payeeBankAccount, String payeeBankName);
    
    /**
     * 根据付款ID查询付款审批中的收款人信息
     *
     * @param paymentId 付款ID
     * @return 包含收款人信息的Map，包含payeeName(收款人全称)、payeeBankAccount(收款人银行账号)、payeeBankName(收款人开户行)
     */
    R<Map<String, String>> getPayeeInfoByPaymentId(Long paymentId);
}